package mybatis.transaction;

import java.sql.Connection;
import java.sql.SQLException;

public interface Transaction {

    /**
     * 获取数据库链接的方法
     *
     * @return 返回数据库链接
     * @throws SQLException 获取链接失败的异常
     */
    Connection getConnection() throws SQLException;

    /**
     * 提交数据库事务的方法
     *
     * @throws SQLException 当数据库访问出错时抛出该异常
     */
    void commit() throws SQLException;

    /**
     * 回滚数据库事务的方法
     *
     * @throws SQLException 当数据库访问出错时抛出该异常
     */
    void rollback() throws SQLException;

    /**
     * 关闭数据库连接的方法
     *
     * @throws SQLException 关闭连接失败的数据库异常
     */
    void close() throws SQLException;

}
